// Manacher算法模版
// 求字符串s中最长回文子串的长度
// 测试链接 : https://www.luogu.com.cn/problem/P3805
// 提交以下的code，可以直接通过

#include <bits/stdc++.h>

using namespace std;

const int MAXN = 11000001;
char s[MAXN];
char ss[MAXN << 1];
int p[MAXN << 1];
int n;

void manacherss()
{
    n = strlen(s) * 2 + 1;
    for(int i = 0, j = 0; i < n; ++i)
    {
        ss[i] = (i & 1) == 0 ? '#' : s[j++];
    }
}

int manacher()
{
    manacherss();
    int mx = 0;
    for(int i = 0, c = 0, r = 0, len; i < n; ++i)
    {
        len = r > i ? min(p[2 * c - i], r - i) : 1;
        while(i + len < n && i - len >= 0 && ss[i + len] == ss[i - len])
        {
            ++len;
        }
        if(i + len > r)
        {
            r = i + len;
            c = i;
        }
        mx = max(mx, len);
        p[i] = len;
    }
    return mx - 1;
}

int main()
{
    scanf("%s", s);
    printf("%d\n", manacher());

    return 0;
}